home *** CD-ROM | disk | FTP | other *** search
/ ADA Programming Guide / ADA Programming Guide.iso / ada_gwu / gvars.h < prev    next >
C/C++ Source or Header  |  1996-01-30  |  5KB  |  162 lines

  1. #define INIT(v) 
  2. #define GEN
  3.  
  4.  
  5.  
  6. extern   int    list_code INIT(0); /* set if GEN option selected */
  7.  
  8. #ifdef TBSN
  9. PREDEF_UNITS; /* predefined units */
  10. #endif
  11.  
  12. extern   int    debug_flag;
  13. extern   int    debug_line INIT(0);
  14.  
  15. extern   char *MAINunit; /* name of main unit (from MAIN opo */
  16. extern   char *interface_files;
  17.  
  18.  
  19. extern   int    bind_option; /* bind option */
  20. extern   int   bind_only_option INIT(0); /* set when binding only, no generation */
  21. extern   int    line_option INIT(0); /* LINE option use -L to set */
  22. extern   int    gen_option INIT(1); /* GEN option: set if want to generate code */
  23.  
  24.  
  25. extern   int ada_line; /* line number for error file (mixed_case) */
  26. extern   int save_ada_line; /* used to save value of ada_line  */
  27.  
  28.  
  29. #ifdef TBSN
  30. STIME; /* ?? time */
  31. BTIME; /* binding time */
  32. #endif
  33.  
  34. extern   int     NB_INSTRUCTIONS; /* number of instructions generated */
  35. extern   int     NB_STATEMENTS; /* number of statements processed?? */
  36.  
  37. extern   int     ERROR_IN_UNIT; /* boolean set if errors in unit */
  38. extern   int     STUBS_IN_UNIT; /* boolean set if stubs in unit */
  39.  
  40. extern   int     TARGET; 
  41.  
  42.  
  43. extern   Node    FIRST_NODE;         /* first node in a compilation unit */
  44.  
  45. extern   Tuple     UNIT_FIRST_NODE;     /* map { unit -> FIRST_NODE } */
  46.  
  47.  
  48. extern   Tuple    RENAME_MAP;          
  49.  
  50. #ifdef TBSN
  51. -- this is not referenced        ds 22-feb-85
  52. extern      Node ROOT_NODE;           /* root node of unit to be expanded */
  53. #endif
  54.  
  55.  
  56.  
  57. extern   Tuple    CODE_SLOTS;          /* map showing code_slots occupation */
  58.  
  59. extern   Tuple    DATA_SLOTS;          /* map showing data_slots occupation */
  60.  
  61. extern   Tuple    EXCEPTION_SLOTS;     /* map showing exception_slots occupation */
  62. extern   Tuple    CODE_SEGMENT_MAP;    /* map { number -> [actual code] } */
  63. extern   Tuple    DATA_SEGMENT_MAP;    /* map { number -> [actual data] } */
  64.  
  65.  
  66. extern   int    CURRENT_DATA_SEGMENT;   /* number of current data segment */
  67. extern   int    CURRENT_CODE_SEGMENT;   /* number of current code  segment */
  68.  
  69. extern   Tuple    GENERATED_OBJECTS;
  70.  
  71.  
  72.  
  73. #ifdef TBSN
  74.     MISC,           /* map used to store miscellanous infos like: */
  75.  
  76. #endif
  77.  
  78. extern   Tuple LOCAL_REFERENCE_MAP;
  79.  
  80. extern   int REFERENCE_SEGMENT;
  81. extern   int REFERENCE_OFFSET;
  82.  
  83. #ifdef TBSN
  84. Tuple    CONSTANT_MAP;
  85. #endif
  86.  
  87.  
  88. extern   int    LAST_OFFSET;    /* first available offset in current stack frame */
  89. extern   int    MAX_OFFSET;     /* largest offset in current stack frame */
  90. extern   int    TASKS_DECLARED; /* flag indicating possible presence of tasks in frame */
  91. extern   int    SPECS_DECLARED; /* count of # of specs requiring a */
  92. extern   Tuple  SUBPROG_SPECS; /* set of subprograms having an explicit spec in the */
  93.  
  94. extern   Tuple    SOURCE;         /* the current list of statements to be processed */
  95.  
  96.  
  97. extern   Tuple    EMAP;           /* Various temporary storage: */
  98. extern   Tuple    EMAP_VALUE; /* value of emap if defined, set by emap_get */
  99.  
  100. extern   int    CURRENT_LEVEL;  /* used for static depth of blocks */
  101.  
  102. extern   Tuple    PARAMETER_SET; /* Tuple of symbols for formal parameters */
  103.  
  104. extern   Tuple    RELAY_SET;
  105.  
  106. extern   Tuple    DANGLING_RELAY_SETS;
  107.  
  108. extern   Tuple    SUBPROG_PATCH;
  109.     
  110. extern   Tuple   CODE_PATCH_SET;
  111. extern   Tuple    DATA_PATCH_SET;
  112.  
  113.  
  114. extern   int    CURRENT_FIELD_NUMBER;
  115. extern   int    CURRENT_FIELD_OFFSET;
  116. extern   int    STATIC_REC; /* boolean */
  117. extern   Tuple   INTERNAL_ACCESSED_TYPES; /* of symbols */
  118.  
  119. extern   Tuple  axqfiles_read;        /* set of already read AXQfiles */
  120. extern   Tuple  call_lib_unit;        /* Accumulates code for idle_task to call library */
  121. extern   Tuple  PRECEDES_MAP;      /* Map representing relationship between units */
  122. extern   Tuple  DELAYED_MAP;
  123. extern   Tuple  compilation_table; /* Table of compilation units giving the order of */
  124. extern   Tuple  late_instances;    /* Map from unit unique name to a set of late */
  125. extern   Tuple interfaced_procedures;
  126. extern   int     interface_counter INIT(256);
  127. extern   int    interface_flag;    /* equals 1 if there are interfaced procedures, 
  128.                                       0 otherwise */
  129.  
  130.  
  131. extern   int deleted_instructions;
  132. #ifdef TBSN
  133.     optimizable_codes,
  134. #endif
  135.  
  136.  
  137.  
  138. extern      Tuple    just_read;
  139. extern   Node    unit_node;
  140.  
  141. extern   Symbol symbol_constrained_type;
  142. extern   Symbol symbol_accept_return INIT((Symbol)0); /* see gen_accept */
  143. extern   Symbol symbol_used,symbol_unused;
  144. extern   Symbol symbol_main_task;
  145. extern   Symbol symbol_type_mark;
  146. extern   Symbol symbol_task_block;
  147. extern   Symbol symbol_mulfix; /* expr.c ...*/
  148.  
  149. extern   long RAT_TOF_1,RAT_TOF_2;
  150.  
  151. extern   Explicit_ref explicit_ref_0; /* for explicit reference of [0,0] */
  152. extern   Tuple unit_slots  INIT((Tuple) 0);
  153. extern   int *ivalue_1,*ivalue_10; /* long integer forms of 1 and 10 */
  154. extern   Const int_const_0; /* Const for integer 0 */
  155. extern   Rational rat_value_10; /* 10 as rational */
  156. extern   Tuple global_reference_tuple INIT((Tuple)0);
  157.  
  158. extern   Const int_const_null_task; /* for NULL_TASK */
  159. #ifdef BINDER_GEN
  160. extern   int binder_phase  INIT(0); /* set non-zero if binder phase */
  161. #endif
  162.